﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AdvanceLib.AddIn;

namespace AdvanceLib.ScriptCore
{
    public abstract class SystemSection : ISystemSection
    {
        #region ISystemSection Member
        public string SectionName { get; set; }
        public string Source { get; set; }
        public int BaseLine { get; set; }
        public abstract IExtensionProvider GetProvider();
        public void Reset()
        {
            this.SectionName = string.Empty;
            this.Source = string.Empty;
            this.BaseLine = 0;
        }
        #endregion

        #region ISystemCommand Member
        public abstract string Name { get; }
        public abstract int ExpectedParameters { get; }
        public string[] ParameterValues { get; set; }
        public abstract void Execute(ScriptHost host, string[] parameters);
        public abstract bool DebugParameter(int paramIndex, string paramValue);
        #endregion

        #region ICommand Member
        public byte[] GetHexCode()
        {
            return new byte[] { };
        }
        public int GetLength()
        {
            return 0;
        }
        #endregion
    }
}
